﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using tactics.Interfaces;

namespace tactics.StatusEffects
{
    public class StatusEffectBase : IStatusEffect
    {
        protected int id;
        protected string name;
        protected int duration;
        protected int amount;
        protected string texture;

        protected DamageType type;

        #region Properties

        public int Id 
        {
            get { return id; }
            set { id = value; }
        }

        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        public int Duration 
        {
            get { return duration; }
            set { duration = value; }
        }

        public int Amount 
        {
            get { return amount; }
            set { amount = value; }
        }

        public DamageType DamageType 
        {
            get { return type; }
            set { type = value; }
        }

        public string Texture 
        { 
            get { return texture; }
            set { texture = value; }
        }

        #endregion

        public virtual void ProcessEffect(Unit unit) { }

        public virtual IStatusEffect Clone()
        {
            throw new NotImplementedException();
        }
    }
}
